Skip to content

Conversation

ffgan
Copy link

@ffgan ffgan commented Sep 25, 2025

Hi there.

I've recently been trying to build PyPI packages for riscv64(rv64) that are compatible with Ubuntu 22. I found that manylinux_2_35 meets the relevant usage requirements, so I'm submitting this PR in hopes of obtaining an officially available image.

Ubuntu 22.04 has an rv64's available image on Docker Hub, and this image already has rv64-related sources configured, allowing most software to be installed via apt. I ran the related builds in my fork, and here are the execution results. The results look good, so we can consider adding support for the related image.

If there are any issues, please feel free to contact me at any time.


Other Info

Co-authored by: [email protected];

@ffgan
Copy link
Author

ffgan commented Sep 28, 2025

hi @mayeut , Could you please help to check this PR? Thanks in advance.

@markdryan
Copy link

@ffgan RISE has some riscv_manylinux_2_35 wheels available at the wheel_builder project. These wheels are built in the same way as their upstream counterparts and are tested on riscv64 (QEMU mostly). We've now switched to the upstream manylinux images, so the newer wheels we're building may no longer work on Ubuntu 22.04, but we have lots of wheels that do.

@ffgan
Copy link
Author

ffgan commented Sep 30, 2025

@ffgan RISE has some riscv_manylinux_2_35 wheels available at the wheel_builder project. These wheels are built in the same way as their upstream counterparts and are tested on riscv64 (QEMU mostly). We've now switched to the upstream manylinux images, so the newer wheels we're building may no longer work on Ubuntu 22.04, but we have lots of wheels that do.

Wow, that's great. I'll try to contribute upstream as much as possible, though, hoping to get direct hosting support on PyPI. Modifying Ceph's PyPI dependencies is a bit of a hassle, so getting support directly from upstream is the easiest (although filing issues/PRs can be time-consuming).

As for my current work on providing rv64 support to some PyPI projects, you can see a table listing my contributions in the Ceph PR above.

@markdryan
Copy link

Wow, that's great. I'll try to contribute upstream as much as possible, though, hoping to get direct hosting support on PyPI. Modifying Ceph's PyPI dependencies is a bit of a hassle, so getting support directly from upstream is the easiest (although filing issues/PRs can be time-consuming).

Great, we should sync up. Is that your ISCAS email in the Co-authored field in the commit?

@ffgan
Copy link
Author

ffgan commented Sep 30, 2025

Wow, that's great. I'll try to contribute upstream as much as possible, though, hoping to get direct hosting support on PyPI. Modifying Ceph's PyPI dependencies is a bit of a hassle, so getting support directly from upstream is the easiest (although filing issues/PRs can be time-consuming).

Great, we should sync up. Is that your ISCAS email in the Co-authored field in the commit?

No, that's my advisor's email.
The PyPI support project we have completed / are working on can be synchronized to RISE's support list, which is very valuable for ecosystem promotion, community visibility, and resource collaboration; at the same time, we will also maintain our unchanged contribution path to manylinux and other related upstream projects — continuing to submit PRs and pushing for official riscv64 support upstream.

@ffgan ffgan force-pushed the feature/build_manylinux_2_35 branch from d736dfe to 34a72c7 Compare October 10, 2025 06:19
@ffgan
Copy link
Author

ffgan commented Oct 15, 2025

After discussion, I believe it may not be appropriate to release support for riscv64 on manylinux_2_35, for the following reasons:

  1. Ubuntu 22 is currently the only distribution with relatively good riscv64 support for manylinux_2_35. Other mainstream distributions such as RPM-based ones do not have good support at the 2_35 level, and with Ubuntu 22 approaching EOL, the significance of supporting it is limited.
  2. Debian/Ubuntu-based systems are currently not suitable as base images, as a considerable portion of software is only provided by RPM-based systems. If you want to run them on Ubuntu 22, as detailed in issue, it would require a substantial number of patches, leading to excessively high maintenance costs.
  3. Ubuntu 22's compiler and kernel are relatively outdated and not suitable for the environment currently needed by riscv64.

If people wish to obtain wheel support for Ubuntu 22, they can consider using the wheels provided by the previous wheel-builder, or upgrade to manylinux_2_39+ distributions, such as Ubuntu 24, etc.


thanks @markdryan

@ffgan ffgan closed this Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants